        SUBT    MultiFS specific definitions

OldOpt  SETA    {OPT}
        OPT     OptNoList+OptNoP1List


; ***********************************
; ***    C h a n g e   L i s t    ***
; ***********************************

; Date       Name  Description
; ----       ----  -----------
; 26-Jan-91  JSR   Created
; 25-Feb-91  JSR   Correct DoFormat record to include sector size at its start
; 06-Mar-91  LVR   Removed Gap1 side 0/1 and make gap1
; 14-Mar-91  JSR   Replace FormatGap1Side0/Side1 the above change should have been
;                       applied to the DoFormat record only
; 25-Apr-91  JSR   Started list of format names
; 31-Jul-91  JSR   Add flags field to enumformats block
; 16-Jan-92  JSR   Add "Here's the *Format parameter" flag to enumformats

        MACRO
$FName  AFormat $TName
        GBLS    FormatName_$FName
FormatName_$FName SETS "$TName"
        MEND

; Formats
;
; It is best if this list is kept in alphabetical order of
; the textual name, these being the ones we wish to keep unique.
;

DOSFS_A         AFormat "A"     ; Atari, 720K, DS
DOSFS_B         AFormat "B"     ; Atari, 360K, SS
ADFS_D          AFormat "D"     ; ADFS, 640K, Old map, Old dirs, floppy flavour
ADFS_E          AFormat "E"     ; ADFS, 800K, New map, New Dirs, floppy flavour
ADFS_F          AFormat "F"     ; ADFS, 1600K, New map, New Dirs, winnie flavour
ADFS_L          AFormat "L"     ; ADFS, 800K, Old map, New Dirs, floppy flavour
DOSFS_M         AFormat "M"     ; MS-DOS 3.20+, 720K, DS
DOSFS_N         AFormat "N"     ; MS-DOS 3.20+, 360K, SS

; An EnumFormatsBlock
;
; These blocks are generated during a Service_EnumerateFormats operation.

        ^       0
EnumFormats_Link                        #       4
EnumFormats_MenuString                  #       4
EnumFormats_MenuHelp                    #       4
EnumFormats_DiscFormatSWI               #       4
EnumFormats_DiscFormatParam             #       4
EnumFormats_LayoutStructureSWI          #       4
EnumFormats_LayoutStructureParam        #       4
EnumFormats_Flags                       #       4
EnumFormats_IsNative            * 1 :SHL: 0
EnumFormats_HasFormatParam      * 1 :SHL: 1
EnumFormats_FormatParam                 #       4
SzEnumFormatsBlock                      #       0

;
; This block is the format description of the hard part of a format
        ^       0
FormatSectorSize        #       4
FormatGap1Side0         #       4
FormatGap1Side1         #       4
FormatGap3              #       4
FormatSectorsPerTrk     #       1
FormatDensity           #       1
FormatOptions           #       1
FormatIndexMark         * 1:SHL:0
FormatDoubleStep        * 1:SHL:1
FormatInterleaveSides   * 0:SHL:2
FormatSide0Only         * 1:SHL:2
FormatSide1Only         * 2:SHL:2
FormatSequenceSides     * 3:SHL:2
FormatLowSector         #       1
FormatInterleave        #       1
FormatSideSideSkew      #       1       ; Signed
FormatTrackTrackSkew    #       1       ; Signed
FormatFillValue         #       1
TracksToFormat          #       4
FormatReserved          #       36
SzFormatBlock # 0
        ASSERT  SzFormatBlock = 64

;
; This block is what's passed to _DiscOp format track
        ^       0
DoFormatSectorSize      #       4
DoFormatGap1            #       4
                        #       4       ; Reserved
DoFormatGap3            #       4
DoFormatSectorsPerTrk   #       1
DoFormatDensity         #       1
DoFormatOptions         #       1
DoFormatFillValue       #       1
DoFormatCylindersPerDrive #     4
DoFormatReserved0       #       4
DoFormatReserved1       #       4
DoFormatReserved2       #       4
DoFormatSectorList      #       0

        OPT OldOpt
        END
